package com.macasa.panel.entity.api;

import java.util.List;

public interface IDomain extends IModel<Integer> {

	/**
	 * @return the domainName
	 */
	String getDomainName();

	/**
	 * @param domainName
	 *            the domainName to set
	 */
	void setDomainName(final String domainName);

	/**
	 * @return the diskQuota
	 */
	Integer getDiskQuota();

	/**
	 * @param diskQuota
	 *            the diskQuota to set
	 */
	void setDiskQuota(final Integer diskQuota);

	/**
	 * @return the bandWidth
	 */
	String getBandWidth();

	/**
	 * @param bandWidth
	 *            the bandWidth to set
	 */
	void setBandWidth(final String bandWidth);

	/**
	 * @return the minBandwidth
	 */
	String getMinBandwidth();

	/**
	 * @param minBandwidth
	 *            the minBandwidth to set
	 */
	void setMinBandwidth(final String minBandwidth);

	/**
	 * @return the maxConnection
	 */
	String getMaxConnection();

	/**
	 * @param maxConnection
	 *            the maxConnection to set
	 */
	void setMaxConnection(final String maxConnection);

	/**
	 * @return the maxEmail
	 */
	Integer getMaxEmail();

	/**
	 * @param maxEmail
	 *            the maxEmail to set
	 */
	void setMaxEmail(final Integer maxEmail);

	/**
	 * @return the maxEmailAlias
	 */
	Integer getMaxEmailAlias();

	/**
	 * @param maxEmailAlias
	 *            the maxEmailAlias to set
	 */
	void setMaxEmailAlias(final Integer maxEmailAlias);

	/**
	 * @return the maxSubDomain
	 */
	Integer getMaxSubDomain();

	/**
	 * @param maxSubDomain
	 *            the maxSubDomain to set
	 */
	void setMaxSubDomain(final Integer maxSubDomain);

	/**
	 * @return the maxFtp
	 */
	Integer getMaxFtp();

	/**
	 * @param maxFtp
	 *            the maxFtp to set
	 */
	void setMaxFtp(final Integer maxFtp);

	/**
	 * @return the apacheService
	 */
	IApacheService getApacheService();

	/**
	 * @param apacheService
	 *            the apacheService to set
	 */
	void setApacheService(final IApacheService apacheService);

	/**
	 * @return the pureFtpdService
	 */
	IPureFtpdService getPureFtpdService();

	/**
	 * @param pureFtpdService
	 *            the pureFtpdService to set
	 */
	void setPureFtpdService(final IPureFtpdService pureFtpdService);

	/**
	 * @return the powerDnsServiceMaster
	 */
	IPowerDnsServiceMaster getPowerDnsServiceMaster();

	/**
	 * @param powerDnsServiceMaster
	 *            the powerDnsServiceMaster to set
	 */
	void setPowerDnsServiceMaster(final IPowerDnsServiceMaster powerDnsServiceMaster);

	/**
	 * @return the powerDnsServiceSlave
	 */
	IPowerDnsServiceSlave getPowerDnsServiceSlave();

	/**
	 * @param powerDnsServiceSlave
	 *            the powerDnsServiceSlave to set
	 */
	void setPowerDnsServiceSlave(final IPowerDnsServiceSlave powerDnsServiceSlave);

	/**
	 * @return the catchallEmail
	 */
	Integer getCatchallEmail();

	/**
	 * @param catchallEmail
	 *            the catchallEmail to set
	 */
	void setCatchallEmail(final Integer catchallEmail);

	/**
	 * @return the subDomains
	 */
	List<ISubDomain> getSubDomains();

	/**
	 * @param subDomains
	 *            the subDomains to set
	 */
	void setSubDomains(final List<ISubDomain> subDomains);

}
